from flask import request, current_app, g

from comment.utils.token_pyjwt import verify_tokens

'''定义一个请求钩子，在请求进来之前得到request携带的token,并且验证token'''


def jwt_request_authorization():
    '''
    自定义一个请求钩子来验证token,并且把验证之后的用户id保存到全局变量g中
    :return:
    '''
    g.user_id = None
    try:
        token = request.headers.get('token')
    except Exception as ex:
        current_app.logger.info('请求头中没有token')
        return
    #拿到了token,进行验证
    result=verify_tokens(token)
    if 'id' in result:#如果验证成功，那么字典中一定有用户ID
        g.user_id=result['id']
